package Repositorio;

import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import Dados.Consulta;

public class RepositorioConsulta {
	private Statement stmt;
	private String sqlStatement;
	public RepositorioConsulta() {
		stmt = Conexao.getInstance().stmt;
	}
	public void cadastrarConsulta(Consulta cons) throws SQLException {
		sqlStatement = "INSERT INTO medicaConsulta VALUES('"+cons.getCodigo()+"','"+cons.getCPF_Paciente()+"','"+cons.getCRM_Medico()+"','"+cons.getEspecialidade()+"','"+cons.getDataHoraInicio()+"','"+cons.getDataHoraFinal()+"','"+cons.getValor()+"','"+cons.getDescricao()+"')";
		stmt.executeUpdate(sqlStatement);
	}
	public void editarConsulta(Consulta cons) throws SQLException {
		sqlStatement = "UPDATE medicaConsulta SET CPF_Paciente='"+cons.getCPF_Paciente()+"', CRM_Medico='"+cons.getCRM_Medico()+"', Especialidade='"+cons.getEspecialidade()+"', DataHoraInicio='"+cons.getDataHoraInicio()+"', DataHoraFinal='"+cons.getDataHoraFinal()+"', Valor='"+cons.getValor()+"', Descricao='"+cons.getDescricao()+"' WHERE Codigo='"+cons.getCodigo()+"'";
		stmt.executeUpdate(sqlStatement);
	}
	public void removerConsulta(int cod) throws SQLException {
		sqlStatement = "DELETE FROM medicaConsulta WHERE Codigo='"+cod+"'";
		stmt.executeUpdate(sqlStatement);
	}
	public Consulta consultarConsulta(int cod) throws SQLException {
		sqlStatement = "SELECT CPF_Paciente, CRM_Medico, Especialidade, DataHoraInicio, DataHoraFinal, Valor, Descricao FROM medicaConsulta WHERE Codigo='"+cod+"'";
		ResultSet rs = stmt.executeQuery(sqlStatement);
		rs.next();
		Consulta cons = new Consulta(cod, rs.getString("CPF_Paciente"), rs.getString("CRM_Medico"), rs.getString("Especialidade"), rs.getDate("DataHoraInicio"), rs.getDate("DataHoraFinal"), rs.getDouble("Valor"), rs.getString("Descricao"));
		return cons;
	}
	public boolean verificarConsulta(int cod) throws SQLException {
		boolean ret;
		sqlStatement = "SELECT * FROM medicaConsulta WHERE Codigo='"+cod+"'";
		ResultSet rs = stmt.executeQuery(sqlStatement);
		if(rs.next()) {
			ret = true;
		} else {
			ret = false;
		}
		return ret;
	}
};
